package com.example.ai.entity;

import lombok.Data;

public class User {
    private Integer id;
    private String name;
    @Override
    public boolean equals(Object o){
        if(this == o){
            return true;
        }
        if(o == null || getClass() != o.getClass()){
            return false;
        }
        User user = (User) o;
        return id.equals(id) && name.equals(name);
    }
    @Override
    public int hashCode(){
        int result = id.hashCode();
        result = 31 * result + name.hashCode();
        return result;
    }
    //为什么要重写hashCode方法？
    //因为hashCode方法用于确定对象在哈希表中的存储位置，
    //如果不重写hashCode方法，那么两个对象即使equals方法返回true，但是它们的hashCode值可能不同，
    //这样就会导致在哈希表中无法正确地找到这两个对象，从而导致程序出现错误。
    //因此，为了保证在哈希表中正确地找到这两个对象，我们需要重写hashCode方法，
    //使得它们的hashCode值相同，这样就可以正确地找到这两个对象了。
}
